package com.eorchis.module.trainingplan.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import java.sql.Blob;
import java.util.Date;
import com.eorchis.core.basedao.entity.impl.AbstractBaseEntity;


import org.hibernate.annotations.GenericGenerator;

import com.eorchis.core.basedao.entity.IBaseEntity;

/**
 * Title: TrainingPlan<br>
 * Description: 培训计划部委归档实体对象<br>
 * Company: GoldGov<br>
 * Copyright @ 2012 GoldGov .All rights reserved.<br>
 * @author RongSL
 * @createDate 2016-07-12
 * @version $Revision$
 */
@Entity
@Table(name = "TRAINING_PLAN_FILE")
public class TrainingPlanFile extends AbstractBaseEntity implements IBaseEntity {
	private static final long serialVersionUID = 1L;

	private String planId;//ID
	private String applyNum;//培训计划编号
	private String className;//专题名称
	private String classObjective;//办班目的
	private String classValues;//培训内容
	private Integer planNum;//调训人数
	private Integer planDay;//学制
//	private Date beginDate;//开班日期
//	private Date endDate;//结班日期
//	private Date enterBeginTime;//报名开始时间
	private String jointName;//合办部委
	private String undertakeName;//承办部委
	private String jointId;//合办部委ID
	private String undertakeId;//承办部委ID
	private String planDate;//计划时间
	private Date startPlanDate;//计划开始时间
	private Date endPlanDate;//计划结束时间
	private String trainingObject;//调训对象
	private String rejectReason;//驳回原因
	private String trainingAddress;//培训地点
	private Integer issuedState;//下发状态
	private Date issuedDate;//下发时间
	private Integer publishState;//发布状态
	private Date publishDate;//发布日期
	private Integer auditState;//审核状态
	private Date auditDate;//审核日期
	private String ReserveField1;//预留字段1
	private Date ReserveField2;//预留字段2
	private Double version;//预留字段3
	private Blob planApply;//培训计划名额
	private String linkMan;//联系人
	private String linkMode;//联系人
	private String fax;//传真
	private Date operationDate;//操作时间
	
	/**
	 * 获取ID
	 */	
	@Id
	@GeneratedValue(generator = "system-uuid")
	@GenericGenerator(name = "system-uuid", strategy = "uuid")
	@Column(name="PLAN_ID")
	public String getPlanId() {
		return planId;
	}
	/**
	 * 设置ID
	 */		
	public void setPlanId(String planId) {
		this.planId = planId;
	}
	/**
	 * 获取培训计划编号
	 */	
	@Column(name="APPLY_NUM")
	public String getApplyNum() {
		return applyNum;
	}
	/**
	 * 设置培训计划编号
	 */		
	public void setApplyNum(String applyNum) {
		this.applyNum = applyNum;
	}
	/**
	 * 获取专题名称
	 */	
	@Column(name="CLASS_NAME")
	public String getClassName() {
		return className;
	}
	/**
	 * 设置专题名称
	 */		
	public void setClassName(String className) {
		this.className = className;
	}
	/**
	 * 获取办班目的
	 */	
	@Column(name="CLASS_OBJECTIVE")
	public String getClassObjective() {
		return classObjective;
	}
	/**
	 * 设置办班目的
	 */		
	public void setClassObjective(String classObjective) {
		this.classObjective = classObjective;
	}
	/**
	 * 获取培训内容
	 */	
	@Column(name="CLASS_VALUES")
	public String getClassValues() {
		return classValues;
	}
	/**
	 * 设置培训内容
	 */		
	public void setClassValues(String classValues) {
		this.classValues = classValues;
	}
	/**
	 * 获取调训人数
	 */	
	@Column(name="PLAN_NUM")
	public Integer getPlanNum() {
		return planNum;
	}
	/**
	 * 设置调训人数
	 */		
	public void setPlanNum(Integer planNum) {
		this.planNum = planNum;
	}
	/**
	 * 获取学制
	 */	
	@Column(name="PLAN_DAY")
	public Integer getPlanDay() {
		return planDay;
	}
	/**
	 * 设置学制
	 */		
	public void setPlanDay(Integer planDay) {
		this.planDay = planDay;
	}
//	/**
//	 * 获取开班日期
//	 */	
//	@Column(name="BEGIN_DATE")
//	public Date getBeginDate() {
//		return beginDate;
//	}
//	/**
//	 * 设置开班日期
//	 */		
//	public void setBeginDate(Date beginDate) {
//		this.beginDate = beginDate;
//	}
//	/**
//	 * 获取结班日期
//	 */	
//	@Column(name="END_DATE")
//	public Date getEndDate() {
//		return endDate;
//	}
//	/**
//	 * 设置结班日期
//	 */		
//	public void setEndDate(Date endDate) {
//		this.endDate = endDate;
//	}
//	/**
//	 * 获取报名开始时间
//	 */	
//	@Column(name="ENTER_BEGIN_TIME")
//	public Date getEnterBeginTime() {
//		return enterBeginTime;
//	}
//	/**
//	 * 设置报名开始时间
//	 */		
//	public void setEnterBeginTime(Date enterBeginTime) {
//		this.enterBeginTime = enterBeginTime;
//	}
	/**
	 * 获取合办部委
	 */	
	@Column(name="JOINT_NAME")
	public String getJointName() {
		return jointName;
	}
	/**
	 * 设置合办部委
	 */		
	public void setJointName(String jointName) {
		this.jointName = jointName;
	}
	/**
	 * 获取承办部委
	 */	
	@Column(name="UNDERTAKE_NAME")
	public String getUndertakeName() {
		return undertakeName;
	}
	/**
	 * 设置承办部委
	 */		
	public void setUndertakeName(String undertakeName) {
		this.undertakeName = undertakeName;
	}
	/**
	 * 获取计划时间
	 */	
	@Transient
	@Column(name="PLAN_DATE")
	public String getPlanDate() {
		return planDate;
	}
	/**
	 * 设置计划时间
	 */		
	public void setPlanDate(String planDate) {
		this.planDate = planDate;
	}
	/**
	 * 获取调训对象
	 */	
	@Column(name="TRAINING_OBJECT")
	public String getTrainingObject() {
		return trainingObject;
	}
	/**
	 * 设置调训对象
	 */		
	public void setTrainingObject(String trainingObject) {
		this.trainingObject = trainingObject;
	}
	/**
	 * 获取驳回原因
	 */	
	@Column(name="REJECT_REASON")
	public String getRejectReason() {
		return rejectReason;
	}
	/**
	 * 设置驳回原因
	 */		
	public void setRejectReason(String rejectReason) {
		this.rejectReason = rejectReason;
	}
	/**
	 * 获取培训地点
	 */	
	@Column(name="TRAINING_ADDRESS")
	public String getTrainingAddress() {
		return trainingAddress;
	}
	/**
	 * 设置培训地点
	 */		
	public void setTrainingAddress(String trainingAddress) {
		this.trainingAddress = trainingAddress;
	}
	/**
	 * 获取下发状态
	 */	
	@Column(name="ISSUED_STATE")
	public Integer getIssuedState() {
		return issuedState;
	}
	/**
	 * 设置下发状态
	 */		
	public void setIssuedState(Integer issuedState) {
		this.issuedState = issuedState;
	}
	/**
	 * 获取发布状态
	 */	
	@Column(name="PUBLISH_STATE")
	public Integer getPublishState() {
		return publishState;
	}
	/**
	 * 设置发布状态
	 */		
	public void setPublishState(Integer publishState) {
		this.publishState = publishState;
	}
	/**
	 * 获取发布日期
	 */	
	@Column(name="PUBLISH_DATE")
	public Date getPublishDate() {
		return publishDate;
	}
	/**
	 * 设置发布日期
	 */		
	public void setPublishDate(Date publishDate) {
		this.publishDate = publishDate;
	}
	/**
	 * 获取审核状态
	 */	
	@Column(name="AUDIT_STATE")
	public Integer getAuditState() {
		return auditState;
	}
	/**
	 * 设置审核状态
	 */		
	public void setAuditState(Integer auditState) {
		this.auditState = auditState;
	}
	/**
	 * 获取审核日期
	 */	
	@Column(name="AUDIT_DATE")
	public Date getAuditDate() {
		return auditDate;
	}
	/**
	 * 设置审核日期
	 */		
	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}
	
	@Column(name="issued_Date")
	public Date getIssuedDate() {
		return issuedDate;
	}
	public void setIssuedDate(Date issuedDate) {
		this.issuedDate = issuedDate;
	}
	
	@Column(name="Reserve_Field1")
	public String getReserveField1() {
		return ReserveField1;
	}
	public void setReserveField1(String reserveField1) {
		ReserveField1 = reserveField1;
	}
	@Column(name="Reserve_Field2")
	public Date getReserveField2() {
		return ReserveField2;
	}
	public void setReserveField2(Date reserveField2) {
		ReserveField2 = reserveField2;
	}
	
	@Column(name="version")
	public Double getVersion() {
		return version;
	}
	public void setVersion(Double version) {
		this.version = version;
	}
	@Column(name="plan_apply")
	public Blob getPlanApply() {
		return planApply;
	}
	public void setPlanApply(Blob planApply) {
		this.planApply = planApply;
	}
	@Column(name ="link_man")
	public String getLinkMan() {
		return linkMan;
	}
	public void setLinkMan(String linkMan) {
		this.linkMan = linkMan;
	}
	@Column(name = "link_mode")
	public String getLinkMode() {
		return linkMode;
	}
	public void setLinkMode(String linkMode) {
		this.linkMode = linkMode;
	}
	@Column(name="operation_Date")
	public Date getOperationDate() {
		return operationDate;
	}
	public void setOperationDate(Date operationDate) {
		this.operationDate = operationDate;
	}
	@Column(name="undertake_Id")
	public String getUndertakeId() {
		return undertakeId;
	}
	public void setUndertakeId(String undertakeId) {
		this.undertakeId = undertakeId;
	}
	@Column(name="joint_Id")
	public String getJointId() {
		return jointId;
	}
	public void setJointId(String jointId) {
		this.jointId = jointId;
	}
	@Column(name = "fax")
	public String getFax() {
		return fax;
	}
	public void setFax(String fax) {
		this.fax = fax;
	}
	@Column(name="start_Plan_Date")
	public Date getStartPlanDate() {
		return startPlanDate;
	}
	public void setStartPlanDate(Date startPlanDate) {
		this.startPlanDate = startPlanDate;
	}
	@Column(name="end_Plan_Date")
	public Date getEndPlanDate() {
		return endPlanDate;
	}
	public void setEndPlanDate(Date endPlanDate) {
		this.endPlanDate = endPlanDate;
	}
}
